using System;
using System.Collections.Generic;
using System.Diagnostics;
using SimpleInjector;

using Xunit.Abstractions;
using Sustainalytics.Synchronization.Interface;

namespace Sustainalytics.ClientDW.Synchronization.SyncReferenceUniv.Tests
{
    public abstract class ReferenceUniverseBaseTests: ILogger
    {
        protected Container SimpleInjectorContainer;

        private readonly ITestOutputHelper output;

        protected readonly Dictionary<string, string> GaConnectionStrings = new Dictionary<string, string>
        {
            { "ClientDW", "mongodb://127.0.0.1:27017/ClientDW_A" },

        };

        protected ReferenceUniverseBaseTests(ITestOutputHelper output)
        {
            Debug.Listeners.Add(new DefaultTraceListener());
            this.output = output;
            SimpleInjectorContainer = SimpleInjectorConfig.Register(this, GaConnectionStrings);
        }

        public void Log(string message)
        {
            output.WriteLine(message);
        }
    }
}